
// 3. 无重复字符的最长子串
class Solution {
public:
    int lengthOfLongestSubstring(string s) {
        // 使用滑动窗口来完成
        int n = s.size(), left = 0;
        unordered_set<char> st;
        int ret = 0;
        for(int right = 0 ; right < n ; right++)
        {
            while(st.count(s[right])) 
                st.erase(s[left++]);
            st.insert(s[right]);
            ret = max(ret , right - left + 1);
        }       
        return ret;     
    }
};